package com.fpt.mockproject.j21.absd.dao;

import java.util.List;

/**
 * HIBERNATE SIMPLIZER VERSION 1.2
 * This is a user-interface used to define some methods 
 * Basic methods included :
 *  save, delete, update, saveOrUpdate, executeSQLQuery, executeHQLQuery,
 *  getAll, getFromTo (pagination), executeSQLUpdate, getBySimpleNaturalId
 * 
 * Hibernate Version required : 4.3.4
 * 
 * @author Linh HB Breaker
 * @version 1.2
 * @since 27/06/2014
 */
public interface HibernateSimplizerInterface<E, S> {
	boolean save(E e);
	
	boolean delete(S s);
	boolean deleteByNaturalId(Object object);
	
	boolean update(E e);
	boolean saveOrUpdate(E e);
	
	E get(S s);
	E getBySimpleNaturalId(Object object);
	
	List<E> executeSQLQuery(String s);
	List<E> executeSQLQuery(String s, int start, int amount);
	List<E> executeHQLQuery(String s);
	List<E> getAll();
	List<E> getFromTo(int start, int max);
	int executeSQLUpdate(String s);
}
